﻿using System.Text;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System;

namespace FinalSettlementModel
{
    public class TableNhomCongTrinh : Helper
    {

        // Hàm lấy tất cả danh sách nhóm công trình
        public DataTable ListGroupObjectData()
        {
            string query = "SELECT ID,NhomCongTrinh FROM dbo.[TblNhomCongTrinh]";

            return this.ExecuteDataTable(query, null);
        }

        // Hàm kiểm tra dữ liệu nhóm công trình đã tồn tại hay chưa (sử dụng cho phương thức tạo mới và cập nhật)
        public bool checkGroupObjectName(int id, string groupName)
        {
            var checkGroup = from checkGroupObj in nc.TblNhomCongTrinhs
                             where checkGroupObj.ID != id && checkGroupObj.NhomCongTrinh == groupName
                             select checkGroupObj;
            if (checkGroup.Any())
            {
                return false;
            }
            return true;
        }

        // Hàm tạo mới dữ liệu nhóm công trình
        public void insertGroupObject(string groupName)
        {
            TblNhomCongTrinh groupObject = new TblNhomCongTrinh();
            groupObject.NhomCongTrinh = groupName;
            nc.TblNhomCongTrinhs.InsertOnSubmit(groupObject);
            nc.SubmitChanges();
        }

        // Hàm cập nhật dữ liệu nhóm công trình
        public void updateGroupObject(int id, string groupName)
        {
            var updateGroup = nc.TblNhomCongTrinhs.Single(s=>s.ID == id);
            updateGroup.NhomCongTrinh = groupName;
            nc.SubmitChanges();
        }

        // Hàm xóa dữ liệu nhóm công trình
        public void deleteGroupObject(int id)
        {
            var deleteGroup = nc.TblNhomCongTrinhs.Single(s => s.ID == id);
            nc.TblNhomCongTrinhs.DeleteOnSubmit(deleteGroup);
            nc.SubmitChanges();
        }
    }
}
